import {ElLoading} from  "element-plus" 

type resType={code:number,[key:string]:any}
let loading:any
/**
  @param callback  该回调需返回res
  @param isLoading 默认使用全局加载
  @param loadingTip 默认加载下方显示的文字为 加载中...
  @param isSuccess  默认成功
  @param timeout 默认1000ms完成请求
  @return  无
  @remark  不走网络,单纯模拟效果
**/
export default (callback:()=>resType,isLoading=true,loadingTip='加载中...',isSuccess=true,timeout=1000)=>
new Promise<resType>((rel,rej)=>{
    if(isLoading) loading=ElLoading.service({background:'rgba(248, 247, 247,.5)',text:loadingTip})
    setTimeout(()=>{
       const res=callback()
       if(isSuccess) rel(res)
       else rej(res)
       loading&&loading.close()
    },timeout)
})